home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / parcs / parcs.lha / sample / sumomo.parcs < prev   
Text File  |  1992-06-08  |  928b  |  39 lines

  1. syntax([],[]).
  2. syntax(Sentence,[Ptree|X]) :- s(Sentence,Y,Ptree);syntax(Y,X).
  3.  
  4. s(X,Y,s(NP,VP)) :- jp(X,Z,NP);vp(Z,Y,VP).
  5.  
  6. jp(X,Y,jp(N,J)) :- np(X,Z,N);j(Z,Y,J).
  7.  
  8. vp(X,Y,vp(N,AX)) :- np(X,Z,N);ax(Z,Y,AX).
  9.  
  10.  
  11. np(X,Y,np(N)) :- n(X,Y,N).
  12. np(X,Y,np(N,J,N2)) :- n(X,Z,N);j(Z,W,J);n(W,Y,N2).
  13.  
  14.  
  15. n([sumomo|X],X,n(sumomo)).
  16. n([momo|X],X,n(momo)).
  17. n([uti|X],X,n(uti)).
  18.  
  19. j([mo|X],X,j(mo)).
  20. j([no|X],X,j(no)).
  21.  
  22. ax([da|X],X,ax(da)).
  23. ax(X,X,ax(nil)).
  24.  
  25. analyze(X,Z) :- morpheme(X,Y),syntax(Y,Z).
  26. sanalyze(X,Z) :- morpheme(X,Y);syntax(Y,Z).
  27.  
  28.  
  29. morpheme([],[]).
  30. morpheme([s,u,m,o,m,o|X],[sumomo|Y]) :- morpheme(X,Y).
  31. morpheme([m,o,m,o|X],[momo|Y]) :- morpheme(X,Y).
  32. morpheme([m,o|X],[mo|Y]):-morpheme(X,Y).
  33. morpheme([d,a|X],[da|Y]) :-morpheme(X,Y).
  34. morpheme([n,o|X],[no|Y]) :-morpheme(X,Y).
  35. morpheme([u,t,i|X],[uti|Y]) :-morpheme(X,Y).
  36. /*
  37. :-analyze([s,u,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,s,u,m,o,m,o,m,o,m,o,m,o,m,o,m,o,m,o,n,o,u,t,i],X).
  38. */
  39.